package net.flyinggroup.reactor;

import org.junit.jupiter.api.Test;
import org.reactivestreams.Publisher;
import org.reactivestreams.tck.PublisherVerification;
import org.reactivestreams.tck.TestEnvironment;

import static org.assertj.core.api.Assertions.assertThat;

public class FibonacciPublisherVerifier extends PublisherVerification<Integer> {

    public FibonacciPublisherVerifier() {
        super(new TestEnvironment());
    }

    @Override
    public Publisher<Integer> createPublisher(long elements) {
        return new FibonacciPublisher();
    }

    @Override
    public Publisher<Integer> createFailedPublisher() {
        return null;
    }

    @Override
    @Test
    public void required_spec101_subscriptionRequestMustResultInTheCorrectNumberOfProducedElements() throws Throwable {
        super.required_spec101_subscriptionRequestMustResultInTheCorrectNumberOfProducedElements();
    }
}